Data Types — GDScript

Skill codes on this page

Code Level Skill
C613 1–2 text data
C614 1–2 numeric data
C615 1–2 Boolean data
C629 3–4 outlines, in the internal documentation, why the selected data types were used

Definition. A data type classifies a variable: what data it can contain and how that data can be manipulated.

At level 1–2 the skill is identifying the three data families in your own code. Using them with stated types is C628/C634 — see Local and Global Variables.

Earns the tick: one labelled line per family — text, numeric, Boolean — in code that runs.

C613 — Text data

Definitions. Character: a single meaningful unit — a letter, digit, punctuation mark, symbol or space. String: a sequence of characters.

Character

GDScript has no separate character type — use a one-character String:

var chr_var: String = "A"   # C613 — text: character

String

var str_var: String = "Hello!"   # C613 — text: string

C614 — Numeric data

Definitions. Integer: whole positive and negative numbers. Floating point: computer representation of real numbers, with decimal places. Numeric: both families together.

Integer

var int_var: int = 42   # C614 — numeric: integer

Floating point

var float_var: float = 3.14   # C614 — numeric: floating point

C615 — Boolean data

Definition. A data type with one of two possible values, usually referred to as False and True.

var bool_var: bool = true   # C615 — Boolean

Spot them in a studied project

# tile-matching-game — card.gd / game.gd
var pair_id := ""                    # C613 — text: a String, inferred from ""
var score := 0                       # C614 — numeric: an int
@export var flip_back_delay := 1.2   # C614 — numeric: a float
var is_face_up := false              # C615 — Boolean

These use := inference — fine, as long as your comment names the type (see the warning in Local and Global Variables).

Date/time

No skill code of its own — it counts toward the level 9–10 range (C657).

var dt_var = Time.get_datetime_dict_from_system()   # counts toward C657 — range of types

That call returns a Dictionary of year, month, day, hour and so on — which is also a record; see Data Structures.

C629 — Why these data types

Level 3–4 asks you to outline the reason in internal documentation — a phrase is enough:

var balance: float = 20.00   # C629 — float: money needs decimal places
var card_id: String = ""     # C629 — String: digits never used in a calculation

The reasons come from how each type behaves — the input/storage/output view is in Data Type Characteristics.

Also name it when you do it: casting — converting a value from one type to another — is everyday Godot: int($ZoneInput.text), str(fares[0]).

Check Your Understanding

  1. Name the three level 1–2 data families and their codes.
Answer

Text C613, numeric C614, Boolean C615.

  1. Why does var trips = 0 earn nothing for data types?
Answer

No type is stated or named in a comment — there is nothing for the marker to assess.

  1. What is casting? Give one Godot example.
Answer

Converting a value between types — e.g. int($ZoneInput.text) turns the typed text into a number.